Spring Web MVC での REST API の開発
Spring Web MVC での REST API 開発
from Spring 徹底入門 Spring Framework による Java アプリケーション開発
HttpMessageConverter でリクエストボディを Java オブジェクトに変換して、Java オブジェクトをレスポンスボディに変換
RestTemplate は、HttpMessageConverter を使って Java オブジェクトをリクエストボディに変換し、レスポンスボディを Java オブジェクトに変換
GET メソッドと POST メソッドしか使えないようなクライアントからのリクエストを処理するために HiddenHttpMethodFilter を使える
クライアントとの通信には POST メソッドが使われる
コントローラーでは、@ResponseBody と @RequestBody アノテーションを使う
@ResponseBody は @Controller の代わりに @RestController を使えば省略できる
CORS (Cross-Origin Resource Sharing) のサポート
Spring 4.2 で CORS の機能が追加された
@CrossOrigin アノテーション
アプリケーション全体での設定もできる
URI の組立て : UriComponentsBuilder
MvcUriComponentsBuilder を使うと、Handler メソッドのメソッド定義と連動して URI を組み立てられる
Spring は Jackson 用のサポートクラスを提供
Jackson2ObjectMapperBuilder と Jackson2ObjectMapperFactoryBean
REST API 用の例外ハンドラは ResponseEntityExceptionHandler を拡張して作成できる
サーブレットコンテナに通知された例外のハンドリング
エラーページ機能でハンドリングしたエラーの遷移先を Controller のハンドラメソッドにすることができる